#include <iostream>
/*
函数对象：可以像使用函数那样调用一个对象，与python中的 __call__一样
下面通过重载运算符()来实现
*/
class Linear
{
private:
    double w;
    double b;
public:
    Linear(double w_, double b_) : w(w_), b(b_){}
    double operator() (double x)
    {
        return x * w + b;
    }
};
int main()
{
    using namespace std;
    Linear L1(2.0, 3.0);
    double y1 = L1(3.5);
    
    cout << y1 << endl;
    return 0;
}